package experiment.interceptor;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;

import experiment.annatation.RequirePermission;
import experiment.exception.BusiException;
import experiment.response.ResultMsgEnum;
import experiment.service.UserServiceImpl;

public class LoginInterceptor implements HandlerInterceptor{
	
	@Autowired  
    private UserServiceImpl userServiceImpl;  
	/*
	* 该函数需要实现以下功能：
	* 1.当用户未登录，则直接抛出ResultMsgEnum.NOT_LOGIN的异常信息
	* 2.如果用户已登录，则获取请求方法是否被@RequirePermission修饰，如果被修饰，则检查该用户是否具备权限，如果权限不足
	*   则抛出ResultMsgEnum.USER_PERMISSION_DENIED的异常信息
	*
	* 提示：
	* 当发送的请求能够找到映射器，则可将preHandle的入参handler转换为HandlerMethod，
	* handlerMethod包含getMethodAnnotation可获取请求方法是否被某个注解修饰。
	* */
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {

        return true;
	}
}
